User-generated content (UGC) covers a range of media content available in a range of modern communications technologies, particularly in the world-wide web. A user creates his/her own content, uploads the content to the Internet, and displays or makes it available to users through the Internet. The user can also edit or modify the content currently exist in a website. The introduction of UGC makes it possible for the transition from download only operation mode to download and upload parallel operation mode of the internet. With the development of the global Internet business and Internet Commerce, UGC services become more and more popularly used by Internet users worldwide. Social networking, audio/video sharing, and blogs, are a few examples of UGC application form, and these applications create huge amount of data, as well as large amount random data access (reads and writes). These applications also create inevitable problems such as how to store the data, and how to access simultaneously the data.
Currently, a multi-layered structure is used to store data created by UGC, including: Cache (high speed buffer memory) Layer and Data Layer. The Cache Layer uses internal RAM, buffers recent data most frequently accessed, and removes data less frequently accessed. The Data Layer uses disks to store all of the data.
The existing technical solution has following issues:
(1) Data consistency issue: existing technical solution uses hierarchical structure to store data, and when a user updates the data, the user has to synchronize modifications to the data in the Cache Layer and the data in the Data Layer. If the data in both layers are not properly synchronized, data inconsistencies may occur between the data in the Cache Layer and the data in the Data Layer;
(2) Cost issue: the data most frequently accessed in the Cache Layer also needs to be stored in the Data Layer, which is redundant, and leads to additional costs.
(3) Reliability issue: due to memory data volatility, once a server of the Internet website loses power either intentionally or inadvertently, the data stored in the Cache Layer is lost and it has to be reloaded after the power is back on. When the Cache Layer is in the process of reloading data, external request is likely to be affected, and access to the data in the Data Layer will likely to increase the load on the Data Layer;
(4) Design complexity issue: to resolve or alleviate as far as possible the issues listed above, design of the system as a whole can become more complex; and
(5) Operation and maintenance-related issue: the factors listed above also will increase the costs of website operation and maintenance.
Therefore, heretofore unaddressed needs exist in the art to address the aforementioned deficiencies and inadequacies.